Field
The disclosed embodiments generally relate to data storage systems. More specifically, the disclosed embodiments relate to the design of a data storage system with an append-only storage model that uses scratch extents to facilitate copying data among machines in a data storage system.
Related Art
Organizations are presently using cloud-based storage systems to store large volumes of data. These cloud-based storage systems are typically operated by hosting companies that maintain a sizable storage infrastructure, often comprising thousands of servers that that are sited in geographically distributed data centers. Customers typically buy or lease storage capacity from these hosting companies. In turn, the hosting companies provision storage resources according to the customers' requirements and enable the customers to access these storage resources.
To provide fault tolerance, data items are often replicated across different storage devices. In this way, if a specific storage device fails, the data items on the failed storage device can be accessed and recovered from other storage devices. However, during the replication process, while an extent containing a set of data blocks is being copied to a destination storage device, it is desirable to ensure that no other data is written to the copy of the extent on the destination storage device.
Hence, what is needed is a data storage system that facilitates replicating data items between storage devices without interfering with write operations during the replication process.